﻿<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Adobe RoboHelp 9" />
<title>Getting Started</title>
<link rel="StyleSheet" href="default.css" type="text/css" />
<style type="text/css">
/*<![CDATA[*/
<!--
P { margin-left:0pt;
margin-right:0pt;
font-family:Verdana;
margin-bottom:3pt;
margin-top:18pt; }
H1 { font-weight:bold;
margin-top:14pt;
margin-bottom:14pt;
margin-left:0pt;
margin-right:0pt;
page-break-after:avoid;
font-family:Verdana;
x-next-type:P;
font-size:18pt; }
H2 { font-weight:bold;
margin-top:14pt;
margin-bottom:14pt;
margin-left:0pt;
margin-right:0pt;
page-break-after:avoid;
font-family:Verdana;
x-next-type:P;
font-size:14pt; }
H3 { font-weight:bold;
margin-top:14pt;
margin-bottom:14pt;
margin-left:0pt;
margin-right:0pt;
page-break-after:avoid;
font-family:Verdana;
x-next-type:P;
font-size:12pt; }
-->
/*]]>*/
</style>

<script type="text/javascript" language="JavaScript">
//<![CDATA[
function reDo() {
  if (innerWidth != origWidth || innerHeight != origHeight)
     location.reload();
}
if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
        origWidth = innerWidth;
        origHeight = innerHeight;
        onresize = reDo;
}
onerror = null; 
//]]>
</script>
<style type="text/css">
/*<![CDATA[*/
<!--
div.WebHelpPopupMenu { position:absolute;
left:0px;
top:0px;
z-index:4;
visibility:hidden; }
-->
/*]]>*/
</style>

<script type="text/javascript" language="javascript1.2" src="whmsg.js">
</script>
<script type="text/javascript" language="javascript" src="whver.js">
</script>
<script type="text/javascript" language="javascript1.2" src="whproxy.js">
</script>
<script type="text/javascript" language="javascript1.2" src="whutils.js">
</script>
<script type="text/javascript" language="javascript1.2" src="whlang.js">
</script>
<script type="text/javascript" language="javascript1.2" src="whtopic.js">
</script>
</head>
<body>
<script type="text/javascript" language="javascript1.2">
//<![CDATA[
<!--
if (window.gbWhTopic)
{
        var strUrl = document.location.href;
        var bc = 0;
        var n = strUrl.toLowerCase().indexOf("bc-");
        if(n != -1)
        {
                document.location.href = strUrl.substring(0, n);
                bc = strUrl.substring(n+3);
        }

        if (window.addTocInfo)
        {
        addTocInfo("Getting Started");
addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");

        }
        if (window.writeBtnStyle)
                writeBtnStyle();

        if (window.writeIntopicBar)
                writeIntopicBar(1);

        
        document.write("<p style=\"font-family: Arial; font-size: 8pt; font-weight: 400;  font-style:normal; color: rgb(0, 0, 255); text-decoration:none; text-align: right\"> ");
AddMasterBreadcrumbs("index.htm", "font-family: Arial; font-size: 8pt; font-weight: 400;  font-style:normal; color: rgb(0, 0, 255); text-decoration:none; text-align: right", "&gt;", "Home", "welcome.htm");
document.write("Getting Started<\/p>");


        if (window.setRelStartPage)
        {
        setRelStartPage("index.htm");

                autoSync(1);
                sendSyncInfo();
                sendAveInfoOut();
        }
}
else
        if (window.gbIE4)
                document.location.reload();

//-->
//]]>
</script><span style="font-weight: bold; font-size: 10pt;"><font size="2" style="font-size:10pt;"><b><a href="http://www.opcfoundation.org" style="color: #0000ff; font-size: 10pt; text-decoration: underline;"><img src="opcfoundation.jpg" alt="opcfoundation.jpg" style="border: none;" width="189" height="61" align="left" border="0" /></a>The Interoperability Standard<br />
for Industrial Automation</b></font></span><br />
&#160;<br />
&#160;
<table cellspacing="0" width="100%" align="center">
<tr>
<td style="vertical-align: top;"><span style="font-size: 8pt;"><font size="1" style="font-size:8pt;"><a href="http://www.opcfoundation.org" target="_blank" style="color: #0000ff; text-decoration: underline;">OPC Foundation Online</a> | <a href="http://www.opcfoundation.org/certification" target="_blank">Certification</a> | <a href="http://www.opcfoundation.org/technology" target="_blank">Technology</a> | <a href="https://www.opcfoundation.org/news" target="_blank">News</a></font></span></td>
<td style="vertical-align: top; text-align: right; font-size: 8pt;"><a href="welcome.htm" style="color: #0000ff; text-decoration: underline;">Home</a> | <a href="getting_started.htm">Getting Started</a></td>
</tr>
</table>
<p style=" border-bottom:Solid 1px #000000; font-weight:bold; text-align:center; border-width:4px;"><span style="font-weight: bold; text-align: center;"><b><span style="font-weight: bold;"><b>Unified Architecture Technology Sample Applications</b></span></b></span></p>
<h1>Getting Started</h1>
<p>OPC is best understood by example. The following guide provides you with some very basic overview concepts, along with some simple exercises to learn OPC technology by demonstration.</p>
<h2>Launching the OPC UA Server &amp; Client</h2>
<ol type="1">
<li>
<p>Several OPC UA Servers and Clients have been installed as part of this package. First, we will launch the <a href="daserveroverview.htm">DA Server</a> and then the <a href="daclientoverview.htm">DA Client</a></p>
<ol type="1">
<li>
<p>Both applications can be found here:<br />
START &gt; All Programs &gt; OPC Foundation &gt; Unified Architecture &gt; Sample Applications &gt; Technology Samples.</p>
</li>
<li>
<p>First, launch the server: <span style="font-weight: bold;"><b>DA Server</b></span>.</p>
</li>
<li>
<p>Second, launch the client: <span style="font-weight: bold;"><b>DA Client</b></span>.</p>
</li>
</ol>
</li>
<li>
<p>Both applications should now be open on-screen.</p>
</li>
</ol>
<h2>Connecting a Client to a Server</h2>
<ol type="1">
<li>
<p>The DA Server will show its <span style="font-style: italic;"><i>endpoint</i></span> at the top of the window. See <a href="daserveroverview.htm#gui">DA Server GUI</a>. Using the mouse, simply highlight the endpoint and then copy it to the Windows clipboard.</p>
</li>
<li>
<p>Switch to the Generic UA Client and then paste the endpoint into the <span style="font-style: italic;"><i>endpoint</i></span> field. See <a href="daclientoverview.htm#gui">DA Client GUI</a>.<br /></p>
</li>
<li>
<p>Click the <span style="font-weight: bold;"><b>Connect</b></span> button, which is displayed at the far-right of the endpoint address field.</p>
</li>
<li>
<p>The Server will validate the client's request and the connection should be established.</p>
</li>
</ol>
<h2>Browsing the Server's Address Space</h2>
<p>A powerful feature of OPC is the ability for a Client to browse the Server and see the data that is currently available. All data is stored in a structure similar to a file and folder concept, except in OPC these are called "Nodes".</p>
<ol type="1">
<li>
<p>In this exercise we will use the DA Client only.</p>
</li>
<li>
<p>The main visible area of the client window shows the navigation area.</p>
</li>
<li>
<p>Simply expand/collapse the visible nodes to continue the navigation experience. See <a href="address_space_navigation.htm">Address Space Navigation</a> for more details.</p>
</li>
</ol>
<h2>Reading Data</h2>
<p>You can acquire data on-demand by using a <span style="font-style: italic;"><i>Read</i></span>, which allows you to read 1..n Nodes in a single call. This is very useful for obtaining a "snapshot" of the current values. Many OPC Servers will actually obtain the data from the underlying device/system prior to returning the values to the client.</p>
<ol type="1">
<li>
<p>In this exercise we will use the DA Client only.</p>
</li>
<li>
<p>Simply locate a Node within the main navigation area and then click on it, this will automatically invoke a Read.</p>
</li>
<li>
<p>The attributes and values associated with the selected node will be displayed on the right-side of the window.</p>
</li>
</ol>
<h3>Exercises</h3>
<ul type="disc">
<li>
<p>Read 1 node.</p>
</li>
<li>
<p>Read a node in a different location.</p>
</li>
</ul>
<h2>Writing Data</h2>
<p>In addition to acquiring data, Clients can provide data to a Server too via a Write operation. You can write to 1..n Nodes within a single call, and can specify the value and/or quality for each node.</p>
<ol type="1">
<li>
<p>In this exercise we will use the DA Client only.</p>
</li>
<li>
<p>Simply locate a Node within the main navigation area and then right-click (to activate the context menu) and choose Write.</p>
</li>
<li>
<p>Specify a value to write and then click OK.</p>
</li>
<li>
<p>The value will be immediately written to the node; some nodes are read-only whereas others are read/write so be prepared to see dialogs indicating a write failure.</p>
</li>
</ol>
<h3>Exercises</h3>
<ul type="disc">
<li>
<p>Write to 1 node of each data-type.</p>
</li>
<li>
<p>Write to 3 nodes (while varying the data type) in a single call.</p>
</li>
</ul>
<h2>Subscribing to Data</h2>
<p>Subscriptions are the most powerful and optimized method of continuous data acquisition. You cannot compare a subscription to continuous Read operations. Subscriptions cause a Server to poll a device on-behalf of the Client, and when the Server detects that a Node's value has changed then the Server will send the new information to the Client. This method reduces the load on the Client, reduces the load on the Server, and can also reduce the load on the underlying device, particularly when multiple Clients are subscribing to the same nodes (and at the same frequency).</p>
<ol type="1">
<li>
<p>In this exercise we will use the DA Client only.</p>
</li>
<li>
<p>Simply locate a Node within the main navigation area and then right-click (to activate the context menu) and choose Monitor.</p>
</li>
<li>
<p>The node will show updated values as they occur in the bottom area of the client window.</p>
</li>
</ol>
<h3>Exercises</h3>
<ul type="disc">
<li>
<p>Add items to an existing subscription.</p>
</li>
<li>
<p>Remove items from an existing subscription.<br />
Tip: use the context-menu in the subscription area of the client window.</p>
</li>
<li>
<p>Change the properties of items within a subscription to enable/disable per item etc.</p>
</li>
</ul>
<h1>Security</h1>
<p>To learn how to configure an application to trust or not-trust other applications simply refer to the <a href="overviewsecuringapplications.htm">Securing Applications Tutorial</a>.</p>
<h1>Summary</h1>
<p>There are many, many other features of OPC that are not described here, although some are mentioned throughout this help documentation.</p>
<p>For more information about OPC Unified Architecture features and capabilities see <a href="about_technologyname.htm">About Unified Architecture</a>.</p>
<p style=" border-top:Solid 1px #000000; font-size:6pt; text-align:right; border-width:4px;"><span style="font-size: 6pt; text-align: right;"><font size="1" style="font-size:6pt;">Copyright OPC Foundation 1995-2013</font></span></p>
<script type="text/javascript" language="javascript1.2">
//<![CDATA[
<!--
if (window.writeIntopicBar)
        writeIntopicBar(0);


highlightSearch();
//-->
//]]>
</script>
</body>
</html>
